#ifndef _FPC1020_H
#define _FPC1020_H	 

//#include <stdio.h>

#include <rtthread.h>
#include <rtdevice.h>
#include <board.h>

//#define FPC1020_DEBUG

#ifdef FPC1020_DEBUG  
#define FPC1020_LOG(format, ...) rt_kprintf(format, ##__VA_ARGS__)  
#else  
#define FPC1020_LOG(format, ...)  
#endif  

#define PIN_TOUCH                   14      //PA4--14，在 drv_gpio.c 文件 line194
#define PIN_POWER                   45      //PB8


//FPC1020 通讯协议
#define FPC1020_DATA_START			0xf5    //数据包开始
#define FPC1020_DATA_END			0xf5    //数据包结束

#define FPC1020_CMD_ENROLL1  		0x01    //添加指纹步骤一
#define FPC1020_CMD_ENROLL2  		0x02    //添加指纹步骤二
#define FPC1020_CMD_ENROLL3  		0x03    //添加指纹步骤三
#define FPC1020_CMD_DELETE  		0x04    //删除指定编号指纹
#define FPC1020_CMD_CLEAR  			0x05    //清空所有指纹
#define FPC1020_CMD_USERNUMB  		0x09    //取用户总数
#define FPC1020_CMD_IDENTIFY  		0x0b    //1:1比对
#define FPC1020_CMD_SEARCH  		0x0c    //1:N比对

#define FPC1020_ACK_SUCCESS  		0x00	//操作成功
#define FPC1020_ACK_FAIL	  		0x01	//操作失败
#define FPC1020_ACK_FULL	  		0x04	//指纹数据库已满
#define FPC1020_ACK_NOUSER   		0x05	//无此用户
#define FPC1020_ACK_USER_EXIST 		0x07 	//用户已存在
#define FPC1020_ACK_TIMEOUT  		0x08	//采集超时


#define FPC1020_TOUCH_TIME          200   
#define FPC1020_POWERON_TIMEOUT     250  
#define FPC1020_SEARCH_TIMEOUT      2500    

//
extern int  fpc1020_rLen;
extern char fpc1020_rBuf[8];


//
void fpc1020_init(void);
void fpc1020_power_on(void);

void fpc1020_recv_process(void);

void fpc1020_search(void);
void fpc1020_power(int val);

#endif

